1. Field of the Invention
The present invention relates to disk drives for computer systems. More particularly, the present invention relates to a disk drive for relocating a block of data sectors near a defective servo sector to expedite write operations.
2. Description of the Prior Art
FIG. 1A shows a prior art format of a disk 2 employed in a disk drive of a computer system. The disk 2 comprises a plurality of radially-spaced, concentric tracks 4 which are partitioned into a plurality of data sectors. The disk 2 further comprises a plurality of embedded servo sectors 6 for use in servoing a head over the desired track during write and read operations. A sector (data or servo) typically comprises a preamble field 8 for synchronizing timing recovery and gain control within a read channel, and a sync mark 10 for symbol synchronizing to a data field 12. Data stored in an embedded servo sector 6 may include a track address which provides coarse head positioning information to a servo control system. An embedded servo sector 6 also typically comprises a plurality of servo bursts 14 recorded at precise offsets from a track""s centerline to provide fine head positioning information to the servo control system.
During a write operation, the disk drive reads the servo bursts 14 of the servo sectors 6 to derive a tracking error for the head. The head is controlled so as to minimize the tracking error, ensuring that the data is written along the desired circumferential path with respect to the track. If the centerline offset of the head exceeds a predetermined threshold indicating a write failure, the disk drive will perform an xe2x80x9cerror recoveryxe2x80x9d procedure wherein the data sector is rewritten to the track after adjusting various parameters (e.g., read channel parameters). The error recovery procedure may perform numerous retries until an enabling set of parameters is found. If the error recovery procedure is unable to find an enabling set of parameters, the disk drive performs a relocation procedure to relocate the data sector to a spare data sector.
Relocating a data sector typically involves remapping the addressing scheme for the data sector. As shown in FIG. 1B, an exemplary mapping scheme is to assign a sequential physical block address (PBA) to each data sector of a track, wherein each PBA is accessed indirectly through a logical block address (LBA). When a data sector is relocated, the PBA of a spare sector is assigned to the LBA corresponding to the relocated data sector. For example, in FIG. 1B the data sector having a PBA=4 of a data track is relocated by assigning LBA=3 to a spare data sector having PBA=0 in a spare track. Whenever the disk drive accesses the data sector having LBA=3, the spare data sector PBA=0 of the spare track is accessed rather than the original data sector PBA=4 of the data track. The relocation information is typically stored in tables on the disk so that the information is preserved when the disk drive is powered down. The relocation procedure typically involves reading the relocation tables from the disk, updating the relocation tables, and then rewriting the relocation tables to the disk.
As illustrated in FIG. 1A, a data sector may need to be relocated during a write operation if a servo sector 6A becomes defective due, for example, to a grown defect on the medium. When this happens, the data sectors in the wedge 16A preceding the defective servo sector 6A as well as the data sectors in the two wedges 16B and 16C following the defective servo sector 6A will typically need to be relocated whenever a write operation is performed within this range. If a write operation involves multiple data sectors within the defective range associated with a defective servo sector, the disk drive will perform the error recovery and relocation procedure for each individual data sector which can significantly increase the latency of the write operation.
There is, therefore, the need to expedite write operations within a disk drive when a write failure occurs due to a defective servo sector.
The present invention may be regarded as a disk drive comprising a disk having a plurality of tracks, each track comprising a plurality of data sectors and a plurality of embedded servo sectors. A head is actuated radially over the disk for writing data to and reading data from the data sectors and for reading the embedded servo sectors. The disk drive comprises a disk control system for receiving a command from a host computer to write data to a plurality of data sectors. The disk control system writes the data to at least one of the plurality of data sectors, and processes the embedded servo sectors to verify the data was written substantially along a desired circumferential trajectory with respect to the track. The disk control system determines when one of the embedded servo sectors is defective and identifies a defective range of data sectors on the disk associated with the defective servo sector. A block relocation procedure is executed by the disk control system to identify at least two of the plurality of data sectors within the defective range and to relocate the at least two data sectors to spare data sectors outside of the defective range.
In one embodiment the disk drive further comprises a cache for storing the data to be written to the plurality of data sectors. The disk control system writes the data stored in the cache to non-relocated data sectors before writing data stored in the cache to the spare data sectors. In another embodiment, the disk drive comprises a non-volatile memory for storing a relocation table and the block relocation procedure retrieves the relocation table from the non-volatile memory, updates the relocation table in connection with relocating the at least two data sectors, and stores the updated relocation table in the non-volatile memory. In one embodiment, the non-volatile memory for storing the relocation table comprises the disk, and in another embodiment the non-volatile memory comprises semiconductor memory.
The present invention may also be regarded as a method of block relocating a plurality of data sectors in a disk drive during a write operation due to a defective servo sector. The disk drive comprises a disk having a plurality of tracks, each track comprising a plurality of data sectors and a plurality of embedded servo sectors, wherein a head is actuated radially over the disk for writing data to and reading data from the data sectors and for reading the embedded servo sectors. A command is received from a host computer to write data to a plurality of data sectors. Data is written to at least one of the plurality of data sectors, and the embedded servo sectors are processed to verify the data was written substantially along a desired circumferential trajectory with respect to the track. When a defective servo sector is detected, a defective range of data sectors on the disk associated with the defective servo sector is identified. At least two of the data sectors within the defective range are block relocated to spare data sectors outside of the defective range.